<?php

/**
 * @name IndexController
 * @author user-20171122cq\administrator
 * @desc 默认控制器
 * @see http://www.php.net/manual/en/class.yaf-controller-abstract.php
 */
class IndexController extends Yaf\Controller_Abstract
{

    /**
     * 初始化方法
     */
    public function init()
    {
//        echo __METHOD__;
//        echo session_id();

        //获取当前环境下 所有配置项
//        $config = Yaf\Application::app()->getConfig();
        //获取单个配置值
//        echo $config->redis->user->name ;
//        echo '<pre>';
//        print_r($config);


        //在 ini 文件中执行 命名空间 即可加载
//        Tool\Test::show();


        //yaf_loader加载 绝对路径(/xxx.php)、相对路径(相对于 application/library/xxx.php)
//        $flag = Yaf\Loader::import("/haha.php") ;
//        echo $flag ;
//        var_dump( Yaf\Loader::import("/haha.php")) ;


    }

    /**
     * 默认动作
     * Yaf支持直接把Yaf_Request_Abstract::getParam()得到的同名参数作为Action的形参
     * 对于如下的例子, 当访问http://yourhost/deo/index/index/index/name/user-20171122cq\administrator 的时候, 你就会发现不同
     */
    public function indexAction($name = "Api Stranger")
    {
        //1. fetch query
        $get = $this->getRequest()->getQuery("get", "default value");

        //2. fetch model
        $model = new SampleModel();

        //3. assign
        $this->getView()->assign("content", $model->selectSample());
        $this->getView()->assign("name", $name);

        //4. render by Yaf, 如果这里返回FALSE, Yaf将不会调用自动视图引擎Render模板
        echo json_encode([
            'id' => 1,
            'name' => 'frans'
        ]);

        return false;
    }
}
